package com.haimalab.demo

import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment

object FlinkStreamWordCount {
  def main(args: Array[String]): Unit = {
    // 1、初始化流计算环境
    val env = StreamExecutionEnvironment.getExecutionEnvironment

    // 2、输入：读取socket中的数据
    val source = env.socketTextStream("localhost", 8888)

    // 3、处理
    val result = source
      .flatMap(_.split("\\W+"))
      .map((_, 1))
      .keyBy("_1")
      .sum(1)

    // 4、输出：打印结果
    result.print()

    // 5、启动流计算环境
    env.execute("word-count")
  }
}
